import request from '@/config/axios'

// 互联网账号 VO
export interface InternetAccountVO {
  id: number // 主键ID
  accountTypeId: number // 账号类型,账号类型表主键id
  accountTypeName: string // 账号类型名称
  personId: string // 关注者用户id
  username: string // 账号如：@idrisla56079731
  usernameId: number // 账号 murmurhash
  nickname: string // 昵称
  url: string // 用户网络地址
  description: string // 用户简介
  email: string // 电子邮件
  headPhotoUrl: string // 头像url
  headPhoto: string // 头像
  articleCount: number // 发文总量
  fanCount: number // 粉丝总量
  fanOtherCount: number // 粉他人总量
  likedCount: number // 关注者账号被赞总数
  likeCount: number // 账号赞他人总数
  location: string // 地址
  joinTime: number // 加入时间戳(秒)
  collectTime: number // 采集时间戳(秒)
  userGenUuid: string // 生成的唯一标示
}

// 相似账号分析 API
export const SimilarAccountApi = {
  /**
   * 触发相似账号分析
   * @param {Object} params - 分析参数
   * @param {number} params.accountId - 目标账号ID
   * @param {number} params.overlapThreshold - 粉丝重叠阈值（百分比）
   */
  analyzeSimilarAccounts: async (params) => {
    return await request.post({
      url: `/member/internet-account/analyze-similar`,
      data: params
    })
  }}

// 互联网账号 API
export const InternetAccountApi = {
  // 查询互联网账号分页
  getInternetAccountPage: async (params: any) => {
    return await request.get({ url: `/member/internet-account/page`, params })
  },

  // 查询互联网账号详情
  getInternetAccount: async (id: number) => {
    return await request.get({ url: `/member/internet-account/get?id=` + id })
  },

  // 新增互联网账号
  createInternetAccount: async (data: InternetAccountVO) => {
    return await request.post({ url: `/member/internet-account/create`, data })
  },

  // 修改互联网账号
  updateInternetAccount: async (data: InternetAccountVO) => {
    return await request.put({ url: `/member/internet-account/update`, data })
  },

  // 删除互联网账号
  deleteInternetAccount: async (id: number) => {
    return await request.delete({ url: `/member/internet-account/delete?id=` + id })
  },

  // 导出互联网账号 Excel
  exportInternetAccount: async (params) => {
    return await request.download({ url: `/member/internet-account/export-excel`, params })
  }
}
